<html>
<head><meta charset="utf-8"><title>unstable-on-beta · t-cargo · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/index.html">t-cargo</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html">unstable-on-beta</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="230548308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230548308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230548308">(Mar 16 2021 at 16:43)</a>:</h4>
<p>This is re: <a href="https://github.com/rust-lang/cargo/issues/9269#issuecomment-800289179">https://github.com/rust-lang/cargo/issues/9269#issuecomment-800289179</a></p>
<p>So, specifically what I'm looking for is a way to test a particular nightly feature without bringing in nightly cargo. That is, I'd like to wait for the relevant feature to land in beta (still under an unstable flag), import the beta, and then set some magic flag that allows the internal build system to use _just_ this particular unstable feature. I'm imagining the equivalent of <code>env CARGO_BOOTSTRAP="patch-in-config"</code>. I know it's a super dirty hack, but I think bringing in an actual nightly as the official internal toolchain would be a tough sell. In part because it may have yet-to-be-discovered bugs, and in part because it blanket-enables the use of nightly features, which isn't ideal. Bringing in a beta on the other hand I think I could argue for without too much trouble.</p>
<p>If some workaround like this is a non-starter, then I'll only be able to test <code>patch-in-config</code> on a much smaller scale, specifically on a small subset of the internal packages I control, as opposed to all of them.</p>
<p>cc <span class="user-mention" data-user-id="116015">@Alex Crichton</span></p>



<a name="230554387"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230554387" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230554387">(Mar 16 2021 at 17:17)</a>:</h4>
<p>oh sorry I misinterpreted, I don't believe something like that currently exists, and would need to be proposed/implemented to make it exist</p>



<a name="230556454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230556454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230556454">(Mar 16 2021 at 17:28)</a>:</h4>
<p>Yeah, I figured that'd probably be the case. I think something like this would be super handy in being able to gather data for nightly features at scale. In my particular case, I would be able to gather significant data on the stability and correctness of <code>patch-in-config</code> fairly quickly, but I can't do so if it requires me to opt into all of nightly.</p>
<p>I think my proposal would be something like "add an environment variable on <code>beta</code> _only_ that allows a _particular_ set of <code>-Z</code> features". If I were to propose something like this, do you think that might be a worthwhile path to pursue? I suppose the way to go would be to file an RFC?</p>



<a name="230556664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230556664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230556664">(Mar 16 2021 at 17:29)</a>:</h4>
<p>personally I would be uncomfortable with this being part of the language proper</p>



<a name="230556721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230556721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230556721">(Mar 16 2021 at 17:30)</a>:</h4>
<p>RUSTC_BOOTSTRAP has absolutely no stability guarentees, and an RFC means other implementations would <em>have</em> to allow it</p>



<a name="230559037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230559037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230559037">(Mar 16 2021 at 17:43)</a>:</h4>
<p>I'm honestly more excited about using nightly and opting <em>out</em> of nightly features than using stable/beta and opting <em>into</em> such features.</p>



<a name="230559116"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230559116" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230559116">(Mar 16 2021 at 17:44)</a>:</h4>
<p>"I want nightly for toolchain reasons but don't want to let Rust code use nightly features" seems like a clear and valuable use case.</p>



<a name="230560974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230560974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230560974">(Mar 16 2021 at 17:54)</a>:</h4>
<p>Opting out would work too as long as it allowed "allow no unstable features except"</p>



<a name="230561095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230561095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230561095">(Mar 16 2021 at 17:54)</a>:</h4>
<p>Even then though, I think it's harder to get nightly deployed at any meaningful scale for testing a feature, since it is by its very nature much less stable and tested than beta/stable</p>



<a name="230563305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230563305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230563305">(Mar 16 2021 at 18:07)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120054">Jon Gjengset</span> <a href="#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230560974">said</a>:</p>
<blockquote>
<p>Opting out would work too as long as it allowed "allow no unstable features except"</p>
</blockquote>
<p>You generally have to opt <em>in</em> to each nightly feature you want to use, in your code.</p>



<a name="230563324"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230563324" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230563324">(Mar 16 2021 at 18:07)</a>:</h4>
<p>So I don't think we need a fine-grained mechanism.</p>



<a name="230563360"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230563360" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230563360">(Mar 16 2021 at 18:07)</a>:</h4>
<p>This mechanism would just be for cases where you want a nightly toolchain toolchain but want your Rust code to work with stable Rust.</p>



<a name="230563410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230563410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230563410">(Mar 16 2021 at 18:07)</a>:</h4>
<p>If you want your code to be able to use nightly features, you can just not use this mechanism, and instead limit which features you opt into.</p>



<a name="230563671"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230563671" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230563671">(Mar 16 2021 at 18:09)</a>:</h4>
<p>That's true for some use-cases, but not for mine, where I maintain a build system in a large organization where I don't generally control what code users of the build system write. I'd like to be able to test an unstable feature in the build system, without _also_ opening the doors for all downstream developers to start being able to use nightly features with no other safe-guards.</p>



<a name="230563837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230563837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230563837">(Mar 16 2021 at 18:10)</a>:</h4>
<p>And while it's true that those developers _could_ set any environment-variable based override themselves too, I'd consider that more malicious behavior than the "oh nice, I can just pass -Zwhatever" a blanket opt-in to nightly would enable</p>



<a name="230570223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230570223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230570223">(Mar 16 2021 at 18:52)</a>:</h4>
<p>I see.</p>



<a name="230570505"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230570505" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230570505">(Mar 16 2021 at 18:54)</a>:</h4>
<p>So, you're effectively saying you'd like a mechanism to safelist nightly-only features at the toolchain level (outside of any <code>.rs</code> file), so that you can organizationally test a nightly feature without accidentally allowing others?</p>



<a name="230570625"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230570625" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230570625">(Mar 16 2021 at 18:55)</a>:</h4>
<p>That seems reasonable to me. I'd still much rather support <em>that</em> (use nightly, disable all nightly features except a specific list) rather than expanding the ability to opt into nightly on beta or stable.</p>



<a name="230570768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230570768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230570768">(Mar 16 2021 at 18:56)</a>:</h4>
<p>(And, of course, if you <em>really</em> want to combine the two you probably can, insofar as you could use the "list of allowed nightly features" mechanism together with <code>RUSTC_BOOTSTRAP</code>. But I'd rather not expand <code>RUSTC_BOOTSTRAP</code> further.)</p>



<a name="230570879"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230570879" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230570879">(Mar 16 2021 at 18:56)</a>:</h4>
<p>Do you need it for rustc or just for Cargo? And where is the system getting rust from?</p>



<a name="230572307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230572307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230572307">(Mar 16 2021 at 19:06)</a>:</h4>
<p><span class="user-mention" data-user-id="239881">@Josh Triplett</span> Exactly!<br>
The reason I'm pushing back on requiring the use of nightly for this is that using nightly also comes with risk in the form of running very cutting-edge releases. In a large organization, saying "we're going to beta-test this particular feature" is _very_ different from saying "we're going to build all our software with last night's compiler release".</p>



<a name="230572363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230572363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230572363">(Mar 16 2021 at 19:06)</a>:</h4>
<p><span class="user-mention" data-user-id="120179">@Eh2406</span> I only need it for cargo in this instance. Specifically, I just want to test-deploy <code>-Zpatch-in-config</code>, and nothing else</p>



<a name="230572459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230572459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230572459">(Mar 16 2021 at 19:07)</a>:</h4>
<p>If you're willing to (separately from this mechanism) use <code>RUSTC_BOOTSTRAP</code> when you want to try such experiments, or temporarily use a nightly compiler when trying such experiments, I don't see a problem with that.</p>



<a name="230572707"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230572707" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230572707">(Mar 16 2021 at 19:09)</a>:</h4>
<p>Not sure I follow?</p>



<a name="230572949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230572949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230572949">(Mar 16 2021 at 19:10)</a>:</h4>
<p>I'm saying that I think there should be two separate mechanisms here:<br>
1) "I want to limit the use of nightly features, to only this list of named feature gates"<br>
2) "I want to use nightly features on a non-nightly compiler"</p>
<p>I'm fine with (1). We already have a mechanism for (2) and I don't think we should expand that.</p>



<a name="230573261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230573261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230573261">(Mar 16 2021 at 19:13)</a>:</h4>
<p>I guess the remaining question then is whether <code>RUSTC_BOOSTRAP</code> also allows the use of cargo <code>-Z</code> flags on beta/stable?</p>



<a name="230573375"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230573375" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230573375">(Mar 16 2021 at 19:13)</a>:</h4>
<p>For 1, I suppose I'd then want a mechanism for limiting features both on cargo and rustc, where in my case I'd set the approve-list to be "only cargo -Zpatch-in-config".</p>



<a name="230573452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230573452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230573452">(Mar 16 2021 at 19:14)</a>:</h4>
<p>Also, separately I really feel like <code>RUSTC_BOOTSTRAP</code> should _only _work on beta, but <span aria-label="shrug" class="emoji emoji-1f937" role="img" title="shrug">:shrug:</span></p>



<a name="230573955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230573955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230573955">(Mar 16 2021 at 19:17)</a>:</h4>
<p>Looks like (unsurprisingly) this line of thinking has been explored a bit before: <a href="https://internals.rust-lang.org/t/allow-unstable-features-on-beta/2986">https://internals.rust-lang.org/t/allow-unstable-features-on-beta/2986</a></p>



<a name="230573970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230573970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230573970">(Mar 16 2021 at 19:17)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120054">Jon Gjengset</span> <a href="#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230573452">said</a>:</p>
<blockquote>
<p>Also, separately I really feel like <code>RUSTC_BOOTSTRAP</code> should _only _work on beta, but <span aria-label="shrug" class="emoji emoji-1f937" role="img" title="shrug">:shrug:</span></p>
</blockquote>
<p>That ship has mostly sailed, sadly. We've revised it as much as I think we can, with the support for crate names.</p>



<a name="230574085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230574085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230574085">(Mar 16 2021 at 19:18)</a>:</h4>
<p>I am wondering if we should have a one off env just for testing this one case.</p>



<a name="230574297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230574297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230574297">(Mar 16 2021 at 19:19)</a>:</h4>
<p>I'm hesitant to go down that route — I feel like this is a more general question of "how do we enable wider-scale testing of unstable features", and one that's worth finding a good answer to</p>



<a name="230574318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230574318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230574318">(Mar 16 2021 at 19:19)</a>:</h4>
<p>See also <a href="https://internals.rust-lang.org/t/getting-more-testing-of-unstable-features/4954">https://internals.rust-lang.org/t/getting-more-testing-of-unstable-features/4954</a></p>



<a name="230575746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230575746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230575746">(Mar 16 2021 at 19:29)</a>:</h4>
<p>(I just checked, and it looks like <code>RUSTC_BOOTSTRAP</code> _does_ work for cargo's <code>-Z</code> flags as well)</p>



<a name="230577027"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230577027" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230577027">(Mar 16 2021 at 19:36)</a>:</h4>
<p>Thinking some more about the problem, I _think_ this kind of feature allow-listing is only relevant for cargo, and not for rustc. Allowing a particular rustc feature would still generally require source changes to test, and so wouldn't make much sense to "test deploy" in any kind of large deployment. For cargo on the other hand, an unstable feature related to building/resolving is something that could be test deployed by a build system/orchestration for all the crates that it manages.</p>



<a name="230577137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230577137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230577137">(Mar 16 2021 at 19:37)</a>:</h4>
<p>I think it's still useful to have a safelist for feature gates.</p>



<a name="230577181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230577181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230577181">(Mar 16 2021 at 19:37)</a>:</h4>
<p>I can easily imagine wanting to use nightly but only for a specific feature, and organizationally allow only that feature.</p>



<a name="230577864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230577864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230577864">(Mar 16 2021 at 19:41)</a>:</h4>
<p>Where is your build system getting cargo from?</p>



<a name="230586917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230586917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230586917">(Mar 16 2021 at 20:37)</a>:</h4>
<p>I'll write up a post on internals with a proposal <span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="230587113"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230587113" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230587113">(Mar 16 2021 at 20:38)</a>:</h4>
<p><span class="user-mention" data-user-id="120179">@Eh2406</span> From the released binaries. Though in certain cases developers may be using locally installed compiler toolchains through rustup</p>



<a name="230589156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230589156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230589156">(Mar 16 2021 at 20:52)</a>:</h4>
<p>The thought is that you could use standard stable rustc and a locally built version of cargo.</p>



<a name="230592573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230592573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230592573">(Mar 16 2021 at 21:14)</a>:</h4>
<p>That might be doable, though if possible I _really_ want to avoid deviating from upstream releases. Down that path lies an endless path of falling behind due to patches that don't apply and hastily-applied patches that cause problems down the road. Where possible I think there is immense value in running exactly what upstream releases and the ecosystem uses.</p>



<a name="230592596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230592596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230592596">(Mar 16 2021 at 21:14)</a>:</h4>
<p>I posted a proposal to internals.r-l.o here: <a href="https://internals.rust-lang.org/t/mechanism-for-beta-testing-unstable-features/14280">https://internals.rust-lang.org/t/mechanism-for-beta-testing-unstable-features/14280</a></p>



<a name="230780006"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230780006" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230780006">(Mar 17 2021 at 22:28)</a>:</h4>
<p>In that internal's thread Nemo pointed out that rustc already has a <code>-Zallow-features</code> flag for exactly this purpose, so I implemented the same for cargo: <a href="https://github.com/rust-lang/cargo/pull/9283">https://github.com/rust-lang/cargo/pull/9283</a></p>



<a name="230793775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230793775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230793775">(Mar 18 2021 at 00:56)</a>:</h4>
<p>...huh!</p>



<a name="230793786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230793786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230793786">(Mar 18 2021 at 00:56)</a>:</h4>
<p>I had no idea!</p>



<a name="230793809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230793809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230793809">(Mar 18 2021 at 00:57)</a>:</h4>
<p>Would you have any interest in adding an environment variable that supplies the same thing (where the command-line option would take precedence over the environment variable)?</p>



<a name="230793821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230793821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230793821">(Mar 18 2021 at 00:57)</a>:</h4>
<p>That would make it easier to set that variable toolchain-wide in an organization.</p>



<a name="230804400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230804400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230804400">(Mar 18 2021 at 02:16)</a>:</h4>
<p><span class="user-mention" data-user-id="239881">@Josh Triplett</span> That's actually exactly the same argument I made in <a href="https://internals.rust-lang.org/t/mechanism-for-beta-testing-unstable-features/14280/17">https://internals.rust-lang.org/t/mechanism-for-beta-testing-unstable-features/14280/17</a> <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span> Would be happy to add that too, though maybe in a follow-up PR? I'm guessing we'll also want to do some bike shedding on its name.</p>



<a name="230807256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230807256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230807256">(Mar 18 2021 at 03:02)</a>:</h4>
<p>I'm hoping it doesn't take too much bikeshedding; it just needs to be descriptive. <code>RUSTC_NIGHTLY_ALLOW_FEATURES</code>, for instance?</p>



<a name="230807379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230807379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230807379">(Mar 18 2021 at 03:04)</a>:</h4>
<p>Should it be called <code>RUSTC</code> and then have syntax for differentiating between <code>cargo</code> and <code>rustc</code> features? Or should there be a <code>CARGO_</code> and a <code>RUSTC_</code> variant?</p>



<a name="230807399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230807399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230807399">(Mar 18 2021 at 03:05)</a>:</h4>
<p>Part of the reason I'd like to do it in a different PR is that for <code>-Zallow-features</code> we have a precedent from rustc. For an environment variable, we'll probably want to do some work to ensure that the same environment variable will also be adopted by rustc.</p>



<a name="230818506"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230818506" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230818506">(Mar 18 2021 at 06:21)</a>:</h4>
<p>It should absolutely be a different PR.</p>



<a name="230818512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230818512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230818512">(Mar 18 2021 at 06:21)</a>:</h4>
<p>This shouldn't derail your current proposal.</p>



<a name="230818556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230818556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230818556">(Mar 18 2021 at 06:22)</a>:</h4>
<p>I do want it to be a single shared variable.</p>



<a name="230901443"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/230901443" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#230901443">(Mar 18 2021 at 17:02)</a>:</h4>
<p>Yup, happy to start driving towards a shared variable. I'm guessing it should then start as a proposal on internals.r-l.o? Or should I go straight to a PR to rust-lang/rust?</p>



<a name="231097715"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/231097715" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#231097715">(Mar 19 2021 at 22:22)</a>:</h4>
<p><span class="user-mention" data-user-id="239881">@Josh Triplett</span> <br>
If you want a single shared variable, my most immediate proposal would be:</p>
<div class="codehilite"><pre><span></span><code>RUST_ALLOW_UNSTABLE_FEATURES=cargo:feat1,rustc:feat1,rustc:feat2
</code></pre></div>
<ul>
<li><code>RUST_</code> over <code>RUSTC_</code> since it also applies to cargo</li>
<li>Prefix features to allow enabling a cargo feature with a name that overlaps with a rustc feature (that you _don't_ want to enable)</li>
<li>Prefix each feature rather than having two separate lists to keep the syntax simple</li>
</ul>
<p>Where do you think the best place to propose this initially is?</p>



<a name="231132041"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/231132041" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#231132041">(Mar 20 2021 at 08:30)</a>:</h4>
<p><span class="user-mention" data-user-id="120054">@Jon Gjengset</span> I'm curious if there <em>are</em> any instances of features in cargo and rustc with the same name where people would want to activate one or the other. I feel like that's not going to be the common case, and it'd be nice to optimize for the common case.</p>



<a name="231228864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/231228864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#231228864">(Mar 21 2021 at 17:20)</a>:</h4>
<p>Maybe we could allow specifying without a prefix, and if so automatically apply both prefixes.</p>



<a name="231561238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/231561238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#231561238">(Mar 23 2021 at 23:48)</a>:</h4>
<p>Actually, another way to do this (at least in my case) is to use the <code>[unstable]</code> table in <code>.cargo/config.toml</code> (which the build system generates), provided there was a way through that to set the <code>-Zallow-features</code> that gets passed to <code>rustc</code>. Or alternatively some new configuration key specifically for that purpose. That way, the build system could generate a <code>.cargo/config.toml</code> that enumerates specifically which cargo and rustc features are allowed, and all invocations of cargo or rustc _through_ cargo will have those flags applied. That might be a more workable solution than finding a way to set the appropriate environment variable in the developer's environment.</p>
<p>What do you think <span class="user-mention" data-user-id="239881">@Josh Triplett</span> ?</p>



<a name="231561427"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/231561427" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#231561427">(Mar 23 2021 at 23:50)</a>:</h4>
<p>^ could even just be a matter of saying that cargo forwards its <code>-Zallow-features</code> to <code>rustc</code>...</p>



<a name="231572335"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/231572335" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#231572335">(Mar 24 2021 at 02:11)</a>:</h4>
<p>yeah setting a value in a file is much better than environment variables</p>



<a name="231586952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/231586952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#231586952">(Mar 24 2021 at 05:47)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span> to putting this in <code>.cargo/config.toml</code>.</p>



<a name="231643395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/231643395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#231643395">(Mar 24 2021 at 14:30)</a>:</h4>
<p><code>.cargo/config.toml</code> in cargo_home, sets it for all projects. Unless the project has a <code>.cargo/config.toml</code> some ware up its path that overrides it. So I don't know if that dose what <span class="user-mention" data-user-id="120054">@Jon Gjengset</span> needs.<br>
On the other hand, I'd rather not have an ENV without a <code>.cargo/config.toml</code> to match. So that suggests that we add it to the coifing, but document that you may need the corresponding ENV to get full enforcement.</p>



<a name="231666190"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/231666190" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#231666190">(Mar 24 2021 at 16:36)</a>:</h4>
<p>So, I _think_ the <a href="https://doc.rust-lang.org/cargo/reference/unstable.html"><code>[unstable]</code> table</a> will already let you set the allowed features from the configuration file. I suppose the next question then is whether cargo should _also_ forward that list of allowed features to <code>rustc</code> behind the scenes?</p>



<a name="232513869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/232513869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#232513869">(Mar 30 2021 at 23:34)</a>:</h4>
<p>What's the path forward for <a href="https://github.com/rust-lang/cargo/pull/9283">https://github.com/rust-lang/cargo/pull/9283</a> ? I'm pretty happy with it in its current form, so am mostly waiting for input on how I can help land it.</p>



<a name="232514037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/232514037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eric Huss <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#232514037">(Mar 30 2021 at 23:36)</a>:</h4>
<p>I just need a little time to do a final review.  It's top of my list, so hopefully soon™</p>



<a name="232514120"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/232514120" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#232514120">(Mar 30 2021 at 23:36)</a>:</h4>
<p>Famous last words <span aria-label="joy" class="emoji emoji-1f602" role="img" title="joy">:joy:</span> Let me know if there's anything I can do to help!</p>



<a name="232653531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/232653531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#232653531">(Mar 31 2021 at 19:46)</a>:</h4>
<p><span class="user-mention" data-user-id="120518">@Eric Huss</span> Thanks for the great comments! I implemented most of your suggestions, though left follow-up comments on two of them to clarify.</p>



<a name="236592685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/236592685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#236592685">(Apr 28 2021 at 22:54)</a>:</h4>
<p>All right, some forward progress here. After discussing with the release team, I ended up taking the path of explicitly flagging "preview" features (only in Cargo for now) that would then be available on both beta and stable. I'd be curious to hear whether the general approach/implementation look sensible, and if so, I'll go ahead and write up an RFC: <a href="https://github.com/rust-lang/cargo/pull/9401">https://github.com/rust-lang/cargo/pull/9401</a></p>



<a name="237366868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/unstable-on-beta/near/237366868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jon Gjengset <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/unstable-on-beta.html#237366868">(May 04 2021 at 17:33)</a>:</h4>
<p>I wrote an RFC: <a href="https://github.com/rust-lang/rfcs/pull/3120">https://github.com/rust-lang/rfcs/pull/3120</a></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>